//
// Created by Felix on 24-5-16.
//

#ifndef GAZE_CAMERARESPONSEDTO_HPP
#define GAZE_CAMERARESPONSEDTO_HPP

#include "oatpp/core/macro/codegen.hpp"
#include "oatpp/core/Types.hpp"

#include OATPP_CODEGEN_BEGIN(DTO)

class CameraResponseDto : public oatpp::DTO {

    DTO_INIT(CameraResponseDto, DTO)

    DTO_FIELD_INFO(cameraId) {
        info->description = "camera_id";
        info->required = true;
    } // CameraId
    DTO_FIELD(Int32, cameraId, "camera_id");

    DTO_FIELD_INFO(title) {
        info->description = "标题";
        info->required = true;
    } // Title
    DTO_FIELD(String, title);

    DTO_FIELD_INFO(pullUrl) {
        info->description = "拉流URL";
        info->required = true;
    } // Pull URL
    DTO_FIELD(String, pullUrl, "pull_url");

    DTO_FIELD_INFO(pushUrl) {
        info->description = "推流URL";
        info->required = true;
    } // Push URL
    DTO_FIELD(String, pushUrl, "push_url");

    DTO_FIELD_INFO(model) {
        info->description = "使用的模型";
        info->required = true;
    } // Push URL
    DTO_FIELD(String, model);

    DTO_FIELD_INFO(status) {
        info->description = "状态";
        info->required = true;
    } // Role
    DTO_FIELD(Int8, status);

    DTO_FIELD_INFO(createTime) {
        info->description = "创建时间";
        info->required = true;
    } // Create time
    DTO_FIELD(Int64, createTime, "create_time");

    DTO_FIELD_INFO(updateTime) {
        info->description = "更新时间";
        info->required = true;
    } // Update time
    DTO_FIELD(Int64, updateTime, "update_time");

    DTO_FIELD_INFO(deleteTime) {
        info->description = "删除时间";
        info->required = true;
    } // Delete time
    DTO_FIELD(Int64, deleteTime, "delete_time");
};

#include OATPP_CODEGEN_END(DTO)

#endif //GAZE_CAMERARESPONSEDTO_HPP
